// 商品详情页逻辑
import Toast from '@vant/weapp/toast/toast';

Page({
  data: {
    product: {},
    quantity: 1,
  },

  onLoad(options) {
    const productId = options.id;
    console.log('商品ID:', productId);
    // 根据商品ID获取商品详情
    this.loadProductDetail(productId);
  },

  onClickIcon() {
    Toast('点击图标');
  },

  // 加入购物车
  onAddToCart() {
    // 获取商品ID
    const productId = this.data.product.proid;
    // 检查用户登录状态
    const token = wx.getStorageSync('token');
    const userid = wx.getStorageSync('userid');
    if (!token || !userid) {
      // 用户未登录，显示登录提示
      wx.showModal({
        title: '提示',
        content: '请先登录后再加入购物车',
        confirmText: '去登录',
        cancelText: '取消',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/login/login'
            });
          }
        }
      });
      return;
    }
    // 调用加入购物车接口
    wx.request({
      url: 'http://47.94.6.186:3001/api/cart/add',
      method: 'POST',
      data: {
        userid: userid,
        proid: productId,
        num: this.data.quantity
      },
      header: {
        'Content-Type': 'application/json',
        'token': token // 添加token到请求头
      },
      success: (res) => {
        console.log('加入购物车API返回:', res.data);
        // 注意：API返回的code是字符串类型
        if (res.data.code === "200") {
          wx.switchTab({
            url: '/pages/cart/cart'
          })
        } 
      },
      fail: (err) => {
        console.log('加入购物车请求失败:', err);
      }
    });
  },

  // 获取商品详情
  loadProductDetail(productId) {
    wx.request({
      url: `http://47.94.6.186:3001/api/pro/detail/${productId}`,
      method: 'GET',
      data: { productId },
      success: (res) => {
        this.setData({
          product: res.data.data
        })
      },
      fail: (err) => {
        console.log(err);
      }
    });
  },

  // 增加数量
  increaseQuantity() {
    this.setData({
      quantity: this.data.quantity + 1
    });
  },

  // 减少数量
  decreaseQuantity() {
    if (this.data.quantity > 1) {
      this.setData({
        quantity: this.data.quantity - 1
      });
    }
  },
})